package com.parking.platform.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.parking.common.core.model.PageInfo;
import com.parking.platform.dto.RoleNameDto;
import com.parking.platform.entity.PlatformRole;
import com.parking.platform.form.SelRoleForm;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author 香菜狗带
 * @since 2023年11月28日
 */
public interface PlatformRoleService extends IService<PlatformRole> {
    /**
     * 新增角色接口
     * 参数：
     * 角色名称：roleName
     *
     * */
    void addPlatformRole(String roleName,Integer adminId);
    /**
     * 删除用户
     * 参数
     * 令牌：authorization
     * 账号状态：state
     * */
    void deleteRoleState(Integer form, Integer platformId);
    /**
     * 禁用角色状态
     * 参数
     * 令牌：authorization
     * 账号状态：state
     * */
    void downRoleState(Integer platformRoleId, Integer adminId);
    /**
     * 启用角色状态
     * 参数
     * 令牌：authorization
     * 账号状态：state
     * */
    void enableRoleState(Integer platformRoleId, Integer adminId);
    /**
     * 修改角色接口
     * 参数：
     * 角色名称：roleName
     *
     * */
    void upPlatformRole(String roleName, Integer platformRoleId, Integer adminId);
    /**
     * 查询全部角色
     *  参数
     *   角色名：platformRoleName
     *  pageNum:当前页数
     *  pageSize:当前条数
     *  state:状态
     * 返回 PlatformRoleDto
     * */
    PageInfo findRoleAll(SelRoleForm form);
    /**
     * 查询全部角色
     *  无参数
     * 返回 RoleNameDto
     * */
    List<RoleNameDto> findRoleName();
    /**
     * 最高管理员
     * 修改角色接口
     * 参数：
     * 角色名称：roleName
     *
     * */
    void upPlatformPower(Integer power, Integer platformRoleId,Integer adminId);
}
